/*
 * Copyright 2009 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package com.google.android.apps.mytracks.content;

import android.os.Parcel;
import android.os.Parcelable;

/**
 * A caso.
 * 
 * @author Leif Hendrik Wilden
 * @author Rodrigo Damazio
 */
public final class Caso implements Parcelable {

  private long id = -1L;
  private long clienteId = -1L;
  private String asunto = "";
  private String fechaInicio = "";
  private String fechaFin = "";
  private String nombre = "";
  private String organo = "";
  private long tiempoContratado = -1L;

  public Caso() {}
  
  public Caso(long id){
    this.id = id;
  }
  
  public Caso(String nombre, long clienteId, String fechaInicio, String fechaFin){
    
    this.clienteId = clienteId;
    this.fechaInicio = fechaInicio;
    this.fechaFin = fechaFin;
    this.nombre = nombre;
  }
  
  public Caso(long casoId, String nombre, long clienteId, String fechaInicio, String fechaFin){
    
    this.id = casoId;
    this.clienteId = clienteId;
    this.fechaInicio = fechaInicio;
    this.fechaFin = fechaFin;
    this.nombre = nombre;
  }
  
  public Caso(long clienteId, String asunto, String fechaInicio, String fechaFin, String nombre,
      String organo, long tiempoContratado){
    
    this.clienteId = clienteId;
    this.asunto = asunto;
    this.fechaInicio = fechaInicio;
    this.fechaFin = fechaFin;
    this.nombre = nombre;
    this.organo = organo;
    this.tiempoContratado = tiempoContratado;
  }
  private Caso(Parcel source) {
    id = source.readLong();
    clienteId = source.readLong();
    asunto = source.readString();
    fechaInicio = source.readString();
    fechaFin = source.readString();
    nombre = source.readString();
    organo = source.readString();
    tiempoContratado = source.readLong();
  }

  @Override
  public int describeContents() {
    return 0;
  }

  @Override
  public void writeToParcel(Parcel dest, int flags) {
    dest.writeLong(id);
    dest.writeLong(clienteId);
    dest.writeString(asunto);
    dest.writeString(fechaInicio);
    dest.writeString(fechaFin);
    dest.writeString(nombre);
    dest.writeString(organo);
    dest.writeLong(tiempoContratado);
  }

  public static final Parcelable.Creator<Caso> CREATOR = new Parcelable.Creator<Caso>() {
      @Override
    public Caso createFromParcel(Parcel in) {
      return new Caso(in);
    }

      @Override
    public Caso[] newArray(int size) {
      return new Caso[size];
    }
  };

  public long getId() {
    return id;
  }

  public void setId(long id) {
    this.id = id;
  }

  public long getClienteId() {
    return clienteId;
  }

  public void setClienteId(long clienteId) {
    this.clienteId = clienteId;
  }

  public String getAsunto() {
    return asunto;
  }

  public void setAsunto(String asunto) {
    this.asunto = asunto;
  }

  public String getFechaInicio() {
    return fechaInicio;
  }

  public void setFechaInicio(String fechaInicio) {
    this.fechaInicio = fechaInicio;
  }

  public String getFechaFin() {
    return fechaFin;
  }

  public void setFechaFin(String fechaFin) {
    this.fechaFin = fechaFin;
  }

  public String getNombre() {
    return nombre;
  }

  public void setNombre(String nombre) {
    this.nombre = nombre;
  }

  public String getOrgano() {
    return organo;
  }

  public void setOrgano(String organo) {
    this.organo = organo;
  }

  public long getTiempoContratado() {
    return tiempoContratado;
  }

  public void setTiempoContratado(long tiempoContratado) {
    this.tiempoContratado = tiempoContratado;
  }
}
